A enterprise content management (ECM) platform provides an organizational structure in which individual users may share and collaborate on electronic files over the Internet. Examples of ECM platforms include, but are not limited to: Alfresco™ (available from Alfresco Software, Inc. of Atlanta, Ga.) Huddle™ (available from Huddle, Inc. of London, UK) Google Drive™ (available from Alphabet, Inc. of Mountain View Calif.), WordPress™ (available from Automattic, Inc. of San Francisco, Calif.), and SharePoint® (available from Microsoft, Corp. of Redmond, Wash.). The electronic files stored according to the organizational structure of a given ECM platform may be held according to various “folders” or “sites” that depend from one another and from a “root” or “top-level site” in a tree structure. Different organizational “trees” may be referred to as a “site collection,” and each site collection will include one root/top-level site, one or more folders/sites as nodes (e.g., leaves and branches) in the structure in a shared ownership and administrative environment.
Individual users may access the files stored at a given node in a given site collection to which they have permissions to access, but may also access files stored in several different site collections, which may have different owners or administrative settings than the first site collection. User permissions related to files may include permissions to Read, Write, or Administrate (e.g., rename, move, delete), and may differ from site collection to site collection and node to node. When working from one site collection, and seeking to interact with another site collection, learning of the permissions for the given user relies on the search function to periodically crawl the permissions from the nodes to which the user is connected. This process is computationally intensive, and prone to lag in its results; users learn of changes to their permission levels based on the speed of the crawler, which can provide incorrect results for several minutes or cause hangs and slowdowns on a local machine when a crawl is initiated.